import requests
import json

# 修改成自己的api key和secret key
API_KEY = "zqQ5v2x2EL3p7EqX8YEOo6Da"
SECRET_KEY = "7KTxad983V0tr2N8clYswqpB3EpOt5EK"


def main():
    url = (
        "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token="
        + get_access_token()
    )
    # 注意message必须是奇数条
    payload = json.dumps(
        {
            "messages": [
                {"role": "user", "content": "我在内蒙高考, 理科, 大概考500分, 推荐下大学和专业"},
                # {
                #     "role": "assistant",
                #     "content": "你好，请问有什么我可以帮助你的吗？无论你有什么问题或需要帮助，我都会尽力回答和协助你。请随时告诉我你的需求。",
                # },
                # {"role": "user", "content": "我在上海，周末可以去哪里玩？"},
                # {
                #     "role": "assistant",
                #     "content": "上海是一个充满活力和文化氛围的城市，有很多适合周末游玩的地方。以下是几个值得推荐的地方：\n\n1. 上海科技馆：上海科技馆是中国大陆最大的科技馆之一，有许多互动展览和科学实验室，可以让您了解科技的发展历史和最新成果。\n2. 上海博物馆：上海博物馆是一座集艺术、历史和文化于一体的博物馆，有许多精美的艺术品和文物，可以让您深入了解中国和世界的文化历史。\n3. 外滩：外滩是上海的标志性景点之一，有许多高楼大厦和繁华的商业街区，是欣赏黄浦江美景和城市风貌的好去处。\n4. 上海迪士尼乐园：上海迪士尼乐园是世界上最大的迪士尼主题公园之一，有许多精彩的游乐项目和演出，可以让您尽情享受娱乐和欢乐。\n5. 上海野生动物园：上海野生动物园是一个以自然保护为主题的野生动物园，有许多珍稀动物和植物，可以让您近距离接触大自然。\n\n这些地方都是上海周末游玩的好去处，可以根据自己的兴趣和需求选择合适的行程。",
                # },
                # {"role": "user", "content": "上海有哪些美食"},
                # ,
                # {
                #    "role": "assistant",
                #    "content": "你好，有什么我可以帮助你的吗？"
                # }
            ]
        }
    )
    headers = {"Content-Type": "application/json"}

    response = requests.request("POST", url, headers=headers, data=payload, stream=True)

    for line in response.iter_lines():
        print(line.decode("UTF-8"))


def get_access_token():
    """
    使用 AK，SK 生成鉴权签名（Access Token）
    :return: access_token，或是None(如果错误)
    """
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {
        "grant_type": "client_credentials",
        "client_id": API_KEY,
        "client_secret": SECRET_KEY,
    }
    return str(requests.post(url, params=params).json().get("access_token"))


if __name__ == "__main__":
    main()
